<?php

namespace Sisesporte\Entity;

use Doctrine\ORM\Mapping as ORM;
use Doctrine\Common\Collections\ArrayCollection;

/**
 * @ORM\Entity
 * @ORM\Table(name="modalidade")
 * @ORM\Entity(repositoryClass="Sisesporte\Repository\VagasModalidadeRepository")
 */
class VagasModalidade {

    public function __construct($options = null) {
        if (!is_null($options))
            Configurator::configure($this, $options);
        $this->localModalidade = new ArrayCollection;
    }

    /**
     * @var integer $sqModalidade
     *
     * @ORM\Column(name="sq_modalidade", type="integer", nullable=false)
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    protected $sqModalidade;

    /**
     * @var string $sgModalidade
     * @ORM\Column(name="sg_modalidade", type="text", nullable=true)
     */
    protected $sgModalidade;

    /**
     * @var string $noModalidade
     * @ORM\Column(name="no_modalidade", type="text", nullable=true)
     */
    protected $noModalidade;

    /**
     * @var boolean $inNecessitaTeste
     * @ORM\Column(name="in_necessita_teste", type="boolean", nullable=false)
     */
    protected $inNecessitaTeste;

    /**
     * @var string $txPreRequisito
     * @ORM\Column(name="tx_pre_requisito", type="text", nullable=true)
     */
    protected $txPreRequisito;

    /**
     * @var boolean $stAtivo
     * @ORM\Column(name="st_ativo", type="boolean", nullable=true)
     */
    protected $stAtivo;

    /**
     * @ORM\OneToMany(targetEntity="Sisesporte\Entity\LocalModalidade", mappedBy="sq_modalidade")
     */
    protected $localModalidade;

    public function getSqModalidade() {
        return $this->sqModalidade;
    }

    public function getSgModalidade() {
        return $this->sgModalidade;
    }

    public function setSgModalidade($sgModalidade) {
        $this->sgModalidade = $sgModalidade;
        return $this;
    }

    public function getNoModalidade() {
        return $this->noModalidade;
    }

    public function setNoModalidade($noModalidade) {
        $this->noModalidade = $noModalidade;
        return $this;
    }

    public function getInNecessitaTeste() {
        return $this->inNecessitaTeste;
    }

    public function setInNecessitaTeste($inNecessitaTeste) {
        $this->inNecessitaTeste = $inNecessitaTeste;
        return $this;
    }

    public function getTxPreRequisito() {
        return $this->txPreRequisito;
    }

    public function setTxPreRequisito($txPreRequisito) {
        $this->txPreRequisito = $txPreRequisito;
        return $this;
    }

    public function getStAtivo() {
        return $this->stAtivo;
    }

    public function setStAtivo($stAtivo) {
        $this->stAtivo = $stAtivo;
        return $this;
    }

    public function getLocalModalidade() {
        return $this->localModalidade;
    }

    public function __toString() {
        return $this->noModalidade;
    }

    public function toArray() {
        return array(
            'sqModalidade' => $this->getSqModalidade(),
            'sgModalidade' => $this->getSgModalidade(),
            'noModalidade' => $this->getNoModalidade(),
            'inNecessitaTeste' => $this->getInNecessitaTeste(),
            'txPreRequisito' => $this->getTxPreRequisito(),
            'stAtivo' => $this->getStAtivo(),
            'localModalidade' => $this->getLocalModalidade()
        );
    }

}
